class Solution {
public:
    void rotate(vector<vector<int>>& matrix) {
        //尝试左右翻转之后，接着按着对角线进行翻转
        int rows=matrix.size(),cols=matrix[0].size();
        int left=0,right=0;
        //下面交换,先进行左右交换
        for(int i=0;i<rows;i++)
        {
            left=0,right=cols-1;
            while(left<right)
            {
                swap(matrix[i][left++],matrix[i][right--]);
            }
        }
        //再进行对角线交换
        for(int i=0;i<rows;i++)
        {
            for(int j=0;j<cols-i-1;j++)
            {
                swap(matrix[i][j],matrix[cols-j-1][cols-i-1]);
            }
        }
    }
};

